package com.molichuxing.services.infrastructure.bean;

import java.io.Serializable;
import java.time.LocalDateTime;

public class GroupBean implements Serializable {
    /**
     * id id
     */
    private Integer id;

    /**
     * 系统类型（1：op，2：经销商, 3:车联网） system_type
     */
    private Integer groupSystemType;

    /**
     * 角色名称 group_name
     */
    private String groupName;

    /**
     * 角色描述 group_desc
     */
    private String groupDesc;

    /**
     * 经销商id dealer_id
     */
    private Integer dealerId;

    /**
     * 是否启用(0:启用，1:禁用)，默认启用 status
     */
    private Integer status;

    /**
     * 操作人id operator_account
     */
    private Integer operatorAccountId;

    /**
     * 操作人姓名 operator_account_id
     */
    private String operatorAccount;

   /**
    * 是否为超级管理员角色 super_group
     */
    private Integer superGroup;

    /**
     * 创建时间 gmt_create
     */
    private LocalDateTime gmtCreate;

    /**
     * 更新时间 gmt_modified
     */
    private LocalDateTime gmtModified;

    /**
     * permission_group
     */
    private static final long serialVersionUID = 1L;

    /**
     * id
     * @date 2019-09-25 19:04:13
     * @return id id
     */
    public Integer getId() {
        return id;
    }

    /**
     * id
     * @date 2019-09-25 19:04:13
     * @param id id
     */
    public void setId(Integer id) {
        this.id = id;
    }

    public Integer getGroupSystemType() {
        return groupSystemType;
    }

    public void setGroupSystemType(Integer groupSystemType) {
        this.groupSystemType = groupSystemType;
    }

    /**
     * 角色名称
     * @date 2019-09-25 19:04:13
     * @return group_name 角色名称
     */
    public String getGroupName() {
        return groupName;
    }

    /**
     * 角色名称
     * @date 2019-09-25 19:04:13
     * @param groupName 角色名称
     */
    public void setGroupName(String groupName) {
        this.groupName = groupName == null ? null : groupName.trim();
    }

    /**
     * 角色描述
     * @date 2019-09-25 19:04:13
     * @return group_desc 角色描述
     */
    public String getGroupDesc() {
        return groupDesc;
    }

    /**
     * 角色描述
     * @date 2019-09-25 19:04:13
     * @param groupDesc 角色描述
     */
    public void setGroupDesc(String groupDesc) {
        this.groupDesc = groupDesc == null ? null : groupDesc.trim();
    }

    /**
     * 经销商id
     * @date 2019-09-25 19:04:13
     * @return dealer_id 经销商id
     */
    public Integer getDealerId() {
        return dealerId;
    }

    /**
     * 经销商id
     * @date 2019-09-25 19:04:13
     * @param dealerId 经销商id
     */
    public void setDealerId(Integer dealerId) {
        this.dealerId = dealerId;
    }

    /**
     * 是否启用(0:启用，1:禁用)，默认启用
     * @date 2019-09-25 19:04:13
     * @return status 是否启用(0:启用，1:禁用)，默认启用
     */
    public Integer getStatus() {
        return status;
    }

    /**
     * 是否启用(0:启用，1:禁用)，默认启用
     * @date 2019-09-25 19:04:13
     * @param status 是否启用(0:启用，1:禁用)，默认启用
     */
    public void setStatus(Integer status) {
        this.status = status;
    }

    /**
     * 操作人姓名
     * @date 2019-09-25 19:04:13
     * @return operator_account_id 操作人姓名
     */
    public Integer getOperatorAccountId() {
        return operatorAccountId;
    }

    /**
     * 操作人姓名
     * @date 2019-09-25 19:04:13
     * @param operatorAccountId 操作人姓名
     */
    public void setOperatorAccountId(Integer operatorAccountId) {
        this.operatorAccountId = operatorAccountId;
    }

    /**
     * 操作人id
     * @date 2019-09-25 19:04:13
     * @return operator_account 操作人id
     */
    public String getOperatorAccount() {
        return operatorAccount;
    }

    /**
     * 操作人id
     * @date 2019-09-25 19:04:13
     * @param operatorAccount 操作人id
     */
    public void setOperatorAccount(String operatorAccount) {
        this.operatorAccount = operatorAccount == null ? null : operatorAccount.trim();
    }

    /**
     * 创建时间
     * @date 2019-09-25 19:04:13
     * @return gmt_create 创建时间
     */
    public LocalDateTime getGmtCreate() {
        return gmtCreate;
    }

    /**
     * 创建时间
     * @date 2019-09-25 19:04:13
     * @param gmtCreate 创建时间
     */
    public void setGmtCreate(LocalDateTime gmtCreate) {
        this.gmtCreate = gmtCreate;
    }

    /**
     * 更新时间
     * @date 2019-09-25 19:04:13
     * @return gmt_modified 更新时间
     */
    public LocalDateTime getGmtModified() {
        return gmtModified;
    }

    /**
     * 更新时间
     * @date 2019-09-25 19:04:13
     * @param gmtModified 更新时间
     */
    public void setGmtModified(LocalDateTime gmtModified) {
        this.gmtModified = gmtModified;
    }

    public Integer getSuperGroup() {
        return superGroup;
    }

    public void setSuperGroup(Integer superGroup) {
        this.superGroup = superGroup;
    }

    /**
     *
     * @mbg.generated
     */
    @Override
    public boolean equals(Object that) {
        if (this == that) {
            return true;
        }
        if (that == null) {
            return false;
        }
        if (getClass() != that.getClass()) {
            return false;
        }
        GroupBean other = (GroupBean) that;
        return (this.getId() == null ? other.getId() == null : this.getId().equals(other.getId()))
            && (this.getGroupSystemType() == null ? other.getGroupSystemType() == null : this.getGroupSystemType().equals(other.getGroupSystemType()))
            && (this.getGroupName() == null ? other.getGroupName() == null : this.getGroupName().equals(other.getGroupName()))
            && (this.getGroupDesc() == null ? other.getGroupDesc() == null : this.getGroupDesc().equals(other.getGroupDesc()))
            && (this.getDealerId() == null ? other.getDealerId() == null : this.getDealerId().equals(other.getDealerId()))
            && (this.getStatus() == null ? other.getStatus() == null : this.getStatus().equals(other.getStatus()))
            && (this.getOperatorAccountId() == null ? other.getOperatorAccountId() == null : this.getOperatorAccountId().equals(other.getOperatorAccountId()))
            && (this.getOperatorAccount() == null ? other.getOperatorAccount() == null : this.getOperatorAccount().equals(other.getOperatorAccount()))
            && (this.getSuperGroup() == null ? other.getSuperGroup() == null : this.getSuperGroup().equals(other.getSuperGroup()))
            && (this.getGmtCreate() == null ? other.getGmtCreate() == null : this.getGmtCreate().equals(other.getGmtCreate()))
            && (this.getGmtModified() == null ? other.getGmtModified() == null : this.getGmtModified().equals(other.getGmtModified()));
    }

    /**
     *
     * @mbg.generated
     */
    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + ((getId() == null) ? 0 : getId().hashCode());
        result = prime * result + ((getGroupSystemType() == null) ? 0 : getGroupSystemType().hashCode());
        result = prime * result + ((getGroupName() == null) ? 0 : getGroupName().hashCode());
        result = prime * result + ((getGroupDesc() == null) ? 0 : getGroupDesc().hashCode());
        result = prime * result + ((getDealerId() == null) ? 0 : getDealerId().hashCode());
        result = prime * result + ((getStatus() == null) ? 0 : getStatus().hashCode());
        result = prime * result + ((getOperatorAccountId() == null) ? 0 : getOperatorAccountId().hashCode());
        result = prime * result + ((getOperatorAccount() == null) ? 0 : getOperatorAccount().hashCode());
        result = prime * result + ((getSuperGroup() == null) ? 0 : getSuperGroup().hashCode());
        result = prime * result + ((getGmtCreate() == null) ? 0 : getGmtCreate().hashCode());
        result = prime * result + ((getGmtModified() == null) ? 0 : getGmtModified().hashCode());
        return result;
    }

    /**
     *
     * @mbg.generated
     */
    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(getClass().getSimpleName());
        sb.append(" [");
        sb.append("Hash = ").append(hashCode());
        sb.append(", id=").append(id);
        sb.append(", systemType=").append(groupSystemType);
        sb.append(", groupName=").append(groupName);
        sb.append(", groupDesc=").append(groupDesc);
        sb.append(", dealerId=").append(dealerId);
        sb.append(", status=").append(status);
        sb.append(", operatorAccountId=").append(operatorAccountId);
        sb.append(", operatorAccount=").append(operatorAccount);
        sb.append(", gmtCreate=").append(gmtCreate);
        sb.append(", superGroup=").append(superGroup);
        sb.append(", gmtModified=").append(gmtModified);
        sb.append(", serialVersionUID=").append(serialVersionUID);
        sb.append("]");
        return sb.toString();
    }
}